8. LiLi_Navigation

This project is used to navigate LiLi robot.

Source code (4.31 GB): LILI_Navigation.zip

Follow the readme.txt file inside to setup your environment and play with LILI navigation system:


System environment:


Step1: Installing essential software

VirtualBox

  1. Open VirtualBox > File > Preferences > Network > Host-only Networks
  2. Setup a new virtual adapter or just configure present adapter
  3. Set IPv4 Address as 192.168.3.1
  4. Open VirtualBox > Machine > Add, and find and add the LILI_NAVI_MACHINE.vbox
  5. Done
    Password of LILI_NAVI_MACHINE is 123456.

Step2: Setting debug environment

Configure remote desktop on Windows 7, this is used for NUC running without monitor and input devices.

You have to log in onboard computer. Since you hardly have a monitor when you do experiment outside lab, I configured a method which let you using remote desktop to operate it.


Step3: Start LILI_NAVI_MACHINE

Double click LILI_NAVI_ON or start in VirtualBox (Password of account VADER is 123456)

How to use this system:
(You have two ways to start it:)


Appendix 1: Command list of client_tele.py

Every request have two parts:

You can see tips in command line window which tell you what you should do.

# Command: start_slam (This command is used to build a new map using XBox360 wireless controller.)
# Arg: (Name of the map you want to save) e.g. packardlab5thfloor
# E.g.:
> start_slam
> packardlab5thfloor
# Command: stop_slam (This command is used to stop building map)
# Arg: (Have arg)(Name of the map you want to save) must same with the map name you typed when you start slam program. The map will be save at virtual machine(ubuntu):
# /Home/catkin_ws/src/lili_navi/app/maps
# (No arg) slam program on server will exit without saving, map will be discarded.
# E.g.:
> stop_slam
> packardlab5thfloor # (same argument with the start_slam command)
# OR
> stop_slam
# Command: start_amcl (This command is used to start navigation function)
# Arg: (Name of the map you want to use) e.g. packardlab5thfloor
# E.g.:
> start_amcl
> packardlab5thfloor # (the filename of map)
### Command: stop_amcl (This command is used to stop navigation function)
### Arg: (No arg)
> stop_amcl
# Command: record_pose
# Arg: (Title of position which you want to use) e.g. room506
> record_pose
> room506
# Command: set_goal
# Arg: (Title of the postition which you had recorded before) e.g. room506
# E.g.:
> set_goal
> room506
#OR
> set_goal
> origin #(back to the original place)
# Command: exit(This command will terminate client_tele.py rather server)
# Arg: (No arg)
> exit

Troubleshoot:

  1. When you use startServer.sh and you have started a function, if there is some highlight errors printed in terminal, it is mostly serial devices connection
    error. To resolve it, you have two ways:

    • Use stop_slam or stop_amcl to stop the program. Unplug lidar and iRobot data cable on USB hub, plug them in any order you like. Then restart the program, if there is same error, please do the second step again with reversed plugging order.

    • (Advanced)Change port setting in "~/catkin_ws/src/lili_navi/launch/(all files)". Open such files, you can see at the top of files, there are two port defination "/dev/ttyUSB0" and "/dev/ttyUSB1". Just exchange the last number of them.

  2. If you experience that process cannot stop by ctrl+c in startServer.sh terminal in Ubuntu, please do following:

    • open a new terminal
    • use command "ps -ef" to display all processes and relationship between processes
    • there must be a lot processes have a same father PPID
    • use command "kill [that PPID]" to kill the father process, all sons will be killed

Next: 9. BEN_Bassoon, Previous: 7. Caleb_Storytelling, Up: Index